package com.ad.pet.api;

import com.ad.pet.constant.Constant;
import com.ad.pet.models.remote.CommList;
import com.ad.pet.models.remote.KeyWord;
import com.ad.pet.models.remote.Money;
import com.ad.pet.models.remote.PayResult;
import com.ad.pet.models.remote.Upgrade;
import com.ad.pet.models.remote.User;
import com.ad.pet.models.remote.account.AboutUs;
import com.ad.pet.models.remote.account.Account;
import com.ad.pet.models.remote.account.AccountPet;
import com.ad.pet.models.remote.account.Banlance;
import com.ad.pet.models.remote.account.CountDrawTotal;
import com.ad.pet.models.remote.account.UserBuyReturn;
import com.ad.pet.models.remote.account.YueDetail;
import com.ad.pet.models.remote.account.order.BigOrder;
import com.ad.pet.models.remote.account.order.MainOrderPoint;
import com.ad.pet.models.remote.account.order.OrderDetail;
import com.ad.pet.models.remote.account.order.OrderType;
import com.ad.pet.models.remote.account.order.PayCompleted;
import com.ad.pet.models.remote.account.order.PayMethodAll;
import com.ad.pet.models.remote.account.order.PayUrl;
import com.ad.pet.models.remote.account.order.SignCheck;
import com.ad.pet.models.remote.account.pet.PetCateFirst;
import com.ad.pet.models.remote.account.pet.PetColor;
import com.ad.pet.models.remote.account.share.ShareEndItem;
import com.ad.pet.models.remote.address.Address;
import com.ad.pet.models.remote.address.Province;
import com.ad.pet.models.remote.cart.BigShipingw;
import com.ad.pet.models.remote.cart.Continent;
import com.ad.pet.models.remote.cart.Coupons;
import com.ad.pet.models.remote.cart.EditNum;
import com.ad.pet.models.remote.cart.Good;
import com.ad.pet.models.remote.cart.HistoryCountry;
import com.ad.pet.models.remote.cart.NewProduct;
import com.ad.pet.models.remote.collect.BigArticle;
import com.ad.pet.models.remote.collect.CollectShop;
import com.ad.pet.models.remote.home.BigAdver;
import com.ad.pet.models.remote.home.Cate;
import com.ad.pet.models.remote.home.Home;
import com.ad.pet.models.remote.home.HomeMall;
import com.ad.pet.models.remote.home.HomeProduce;
import com.ad.pet.models.remote.home.NewUserBenfit;
import com.ad.pet.models.remote.home.Notice;
import com.ad.pet.models.remote.home.Product_list;
import com.ad.pet.models.remote.home.VpPacket;
import com.ad.pet.models.remote.home.Zoom;
import com.ad.pet.models.remote.home.floor.MainFloor;
import com.ad.pet.models.remote.home.floor.PopNewRegist;
import com.ad.pet.models.remote.login.CategroyCountry;
import com.ad.pet.models.remote.main.DesingerMain;
import com.ad.pet.models.remote.main.DesingerType;
import com.ad.pet.models.remote.main.PetConcer;
import com.ad.pet.models.remote.mall.Counpous;
import com.ad.pet.models.remote.mall.OrderDoorInfo;
import com.ad.pet.models.remote.mall.ProductDetail;
import com.ad.pet.models.remote.mall.Rating;
import com.ad.pet.models.remote.mall.Record;
import com.ad.pet.models.remote.mall.SearchEndGood;
import com.ad.pet.models.remote.mall.ServiceDetail;
import com.ad.pet.models.remote.mall.SkuPirce;
import com.ad.pet.models.remote.message.LogistDetail;
import com.ad.pet.models.remote.message.Message;
import com.ad.pet.models.remote.message.Point;
import com.ad.pet.models.remote.recharge.Alipay;
import com.ad.pet.models.remote.recharge.Recharge;
import com.ad.pet.models.remote.recharge.Weixin;
import com.ad.pet.models.remote.recharge.WithDraw;
import com.ad.pet.models.remote.type.FirstCategroy;
import com.ad.pet.models.remote.zoom.StyleList;
import com.ad.pet.models.remote.zoom.ZoomList;
import com.ad.pet.models.result.ResultBean;

import java.util.List;

import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
import rx.Observable;


/**
 * Created by ems on 2017/2/27.
 */

public interface Api {



    String CART_URL="/index.html#/poster/ShoppingMall";

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<List<CategroyCountry>>> get_country_list(@Field(Constant.METHOD) String method, @Field(Constant.LONGITUDEBODY) String longitude, @Field(Constant.LATITUDEBODY) String latitude);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<User>> getDemo(@Field(Constant.METHOD) String method, @Field(Constant.USER_TEL) String phone);

    @POST("/app/user/forgot_password")
    @FormUrlEncoded
    Observable<ResultBean<User>> send_email_code(@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.E_MAIL) String email, @Field(Constant.SIGN) String sign);


    @POST("/app/user/register")
    @FormUrlEncoded
    Observable<ResultBean<User>> register(@Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform,@Field(Constant.E_MAIL)String email,@Field(Constant.USER_PASSWORD)String pwd,@Field(Constant.SHARE_CODE)String gender,@Field(Constant.THIRD_PARTY)String thirdPart,@Field(Constant.GENDER)String sex,@Field(Constant.SIGN) String sign);

    @POST("/app/user/login")
    @FormUrlEncoded
    Observable<ResultBean<User>> account_login(@Field(Constant.COUNTRY)String country,@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.E_MAIL) String account, @Field(Constant.USER_PASSWORD) String password,@Field(Constant.THIRD_PARTY)String thirdPart, @Field(Constant.SIGN) String sign);


    @POST("/api/passport/check_login")
    @FormUrlEncoded
    Observable<ResultBean<User>> check_login(@Field(Constant.COUNTRY)String country,@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.ACCESS_TOKEN) String accessToken, @Field(Constant.SIGN) String sign);


    @POST("/app/product/GetHomeProduct")
    @FormUrlEncoded
    Observable<ResultBean<Product_list>> getHome(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.PAGE)String page,@Field(Constant.LIMIT)String limit, @Field(Constant.SIGN) String sign);


    @POST("/app.php?/home/get_headline")
    @FormUrlEncoded
    Observable<ResultBean<List<Notice>>> get_notice_list(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);


    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<Home>> get_pic_list(@Field(Constant.METHOD)String method, @Field(Constant.TYPE) String type, @Field(Constant.LONGITUDEBODY) String longTitude, @Field(Constant.LATITUDEBODY) String latatude);

    @POST("/app/search/main_search_words")
    @FormUrlEncoded
    Observable<ResultBean<CommList<List<Cate>>>> top_bar(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app/home/GetNewHomeCategoryV2")
    @FormUrlEncoded
    Observable<ResultBean<CommList<List<Cate>>>> top_bar_menu(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);


    @POST("/app/search/top_search_words")
    @FormUrlEncoded
    Observable<ResultBean<List<KeyWord>>> recommend_word(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app/search/main_search_words")
    @FormUrlEncoded
    Observable<ResultBean<CommList<List<KeyWord>>>> main_search_words(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app/category/GetHotCategoryList")
    @FormUrlEncoded
    Observable<ResultBean<CommList<List<KeyWord>>>> getcategorylist(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);


    @POST("/app.php?/taobao/detkl")
    @FormUrlEncoded
    Observable<ResultBean<KeyWord>> detkl(@Field(Constant.COUNTRY)String country,@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.TEXT) String text, @Field(Constant.SIGN) String sign);


    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<User>> logout( @Field(Constant.METHOD) String method,@Field(Constant.ACCESS_TOKEN) String text);


    @POST("/app.php?/home/item_list")
    @FormUrlEncoded
    Observable<ResultBean<CommList<HomeProduce>>> getHome_index(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);


    @POST("/app/version/upgrade")
    @FormUrlEncoded
    Observable<ResultBean<Upgrade>> upGrade(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.VERSION_NUMBER) String version_number, @Field(Constant.SIGN) String sign);

    @POST("/app.php?/home/get_category_info")
    @FormUrlEncoded
    Observable<ResultBean<List<Zoom>>> get_category_info(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);


    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<PayResult>> write_notify_log(@Field(Constant.METHOD)String method, @Field(Constant.ORDER_ID) String order_id);
    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<PayResult>> write_notify_log(@Field(Constant.METHOD)String method, @Field(Constant.ORDER_ID) String order_id,@Field("payment_type")String payment_type);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<OrderDoorInfo>> getDoorBasicInfo(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token,@Field("date") String date,@Field("shop_id") String shop_id);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<List>> upDoorOrder(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token, @Field("contact_name")String contact_name,@Field("contact_tel")String contact_tel,@Field("shop_id")String shop_id,@Field("pet_id")String pet_id,@Field("offservice_id")String offservice_id,@Field("offservice_name")String offservice_name,@Field("offservice_sku_id")String offservice_sku_id,@Field("offservice_sku_name")String offservice_sku_name,@Field("appoint_offservice_date")String appoint_offservice_date,@Field("appoint_offservice_time")String appoint_offservice_time,@Field("voucher_id")String voucher_id,@Field("price")String price,@Field("memo")String memo);


    @POST("/app/cart/GetCartProduct")
    @FormUrlEncoded
    Observable<ResultBean<CommList<List<Good>>>> cart_lists(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app/cart/UpdateCart")
    @FormUrlEncoded
    Observable<ResultBean<EditNum>> edit_item(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.CART_ID) String cart_id, @Field(Constant.QUANTITY) String num, @Field(Constant.SKU)String sku,@Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app/cart/GetCartPrice")
    @FormUrlEncoded
    Observable<ResultBean<EditNum>> getCartPrice(@Field(Constant.COUNTRY)String country,@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.CART_IDS) String cart_id,@Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);


    @POST("/app/cart/DeleteCartProduct")
    @FormUrlEncoded
    Observable<ResultBean<User>> del_item(@Field(Constant.COUNTRY)String country,@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.CART_IDS) String cart_id, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);


    @POST("/app/order/create")
    @FormUrlEncoded
    Observable<ResultBean<PayCompleted>> confirmOrder(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.CART_IDS) String cart_id, @Field(Constant.ADDRESS_ID)String adid, @Field(Constant.SHIPPING_ID)String sid, @Field(Constant.BANLANCE)String banlance, @Field(Constant.RED_ENVELOPS)String red_envelops, @Field(Constant.FREIGHT)String freight, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform,@Field(Constant.USER_COUPON_ID)String couponId ,@Field(Constant.SIGN) String sign);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<CommList<List<Counpous>>>> getCouponList(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token, @Field("offservice_id") String state, @Field("week_num") String page);

    @POST("/app.php?/confirmOrder/getCountryList")
    @FormUrlEncoded
    Observable<ResultBean<List<Continent>>> getCountryList(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);


    @POST("/app.php?/confirmOrder/getHistoryCountryList")
    @FormUrlEncoded
    Observable<ResultBean<List<HistoryCountry>>> getHistoryCountryList(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);


    @POST("/app.php?/confirmOrder/addAddress")
    @FormUrlEncoded
    Observable<ResultBean<HistoryCountry>> addAddress(@Field(Constant.COUNTRY)String country,@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.COUNTRY_ID) String countryId, @Field(Constant.COUNTRY_NAME) String country_name, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);


    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<Home>> getUserLandingPageReg(@Field(Constant.METHOD)String method, @Field(Constant.TYPE) String type);


    @POST("/app.php?/pay/channel_list")
    @FormUrlEncoded
    Observable<ResultBean<CommList<List<Recharge>>>> channel_list(@Field(Constant.COUNTRY)String country,@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);


    @POST("/user/pay")
    @FormUrlEncoded
    Observable<ResultBean<Weixin>> get_pay_wx(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.PAY_VALUE) String payvalue, @Field(Constant.PAYTYPE) String payType, @Field(Constant.SIGN) String sign);


    @POST("/user/pay")
    @FormUrlEncoded
    Observable<ResultBean<Alipay>> get_pay_alipay(@Field(Constant.COUNTRY)String country,@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.PAY_VALUE) String payvalue, @Field(Constant.PAYTYPE) String payType, @Field(Constant.SIGN) String sign);


      @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<Account>> get_user_info(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<List>> up_user_info(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token,@Field("user_headimg")String user_headimg,@Field("user_name")String user_name,@Field("nick_name")String nick_name,@Field("sex")String sex,@Field("birthday")String birthday,@Field("user_tel")String user_tel);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<AccountPet>> getPetInfo(@Field(Constant.METHOD)String method, @Field(Constant.PET_ID) String pet_id);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<List<PetCateFirst>>> getPetCateGory(@Field(Constant.METHOD)String method);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<User>> deletePet(@Field(Constant.METHOD)String method,@Field(Constant.PET_ID)String id);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<List>> upPetInfo(@Field(Constant.METHOD)String method,@Field(Constant.ACCESS_TOKEN)String token,@Field("pet_headimg")String pet_headimg,@Field("pet_name")String pet_name,@Field("sex")String sex,@Field("birthday")String birthday,@Field("category_id")String category_id,@Field("weight")String weight,@Field("is_sterilisate")String is_sterilisate,@Field("color_id")String color_id,@Field("pet_id")String pet_id);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<List<PetColor>>> getPetColor(@Field(Constant.METHOD)String method);


    //    @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.File)File file, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign
    @FormUrlEncoded
    @POST("/api.html")
    Observable<ResultBean<String>> upload_avatar(@Field(Constant.METHOD) String method,@Field("file_path") String file_path, @Field("file_type") String path);


    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<User>> forgot_password(@Field(Constant.METHOD)String method,@Field(Constant.USER_TEL) String usertel, @Field(Constant.SMS_CODE) String code, @Field(Constant.USER_PASSWORD) String pwd);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<User>> registJpush(@Field(Constant.METHOD)String method,@Field(Constant.ACCESS_TOKEN) String Token,@Field("registration_id")String registration_id,@Field("registration_device")String registration_device);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<List<Address>>> address_list( @Field(Constant.METHOD) String method, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.PAGE) String page, @Field(Constant.LIMIT) String limit);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<User>> address_update(@Field(Constant.METHOD) String method, @Field(Constant.ACCESS_TOKEN) String token,@Field("address_id") String address_id,@Field("consigner")String consigner,@Field("mobile")String mobile,
                                                @Field("province") String province,@Field("city")String city,@Field("district")String district,@Field("address")String address,@Field("label")String label,
                                                @Field("is_default") String is_default);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<User>> address_add(@Field(Constant.METHOD) String method, @Field(Constant.ACCESS_TOKEN) String token,@Field("consigner")String consigner,@Field("mobile")String mobile,
                                             @Field("province") String province,@Field("city")String city,@Field("district")String district,@Field("address")String address,@Field("label")String label,
                                             @Field("is_default") String is_default);


    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<User>> address_del(@Field(Constant.METHOD) String method, @Field(Constant.ACCESS_TOKEN) String token,@Field("address_id") String address_id);

    @POST("/app.php?/myAccount/Collect/store_list")
    @FormUrlEncoded
    Observable<ResultBean<CommList<List<CollectShop>>>> store_list(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app.php?/myAccount/Collect/store_del")
    @FormUrlEncoded
    Observable<ResultBean<User>> store_del(@Field(Constant.COUNTRY)String country,@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.ID) String aId, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);


    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<List<OrderType>>> collect_item_list(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.TYPE) String Type);

    @POST("/app/my_wishlist/del")
    @FormUrlEncoded
    Observable<ResultBean<User>> collect_item_del(@Field(Constant.COUNTRY)String country,@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.TYPE)String type,@Field(Constant.COLLECT_ID) String aId, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app/my_wishlist/add")
    @FormUrlEncoded
    Observable<ResultBean<User>> add_item_tag(@Field(Constant.COUNTRY)String country,@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.COLLECT_ID) String id, @Field(Constant.TYPE) String tag, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app.php?/ConfirmOrder/checkCouponCode")
    @FormUrlEncoded
    Observable<ResultBean<Coupons>> checkCouponCode(@Field(Constant.COUNTRY)String country,@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.CODE) String code, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);



    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<AboutUs>> about_us(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token);
    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<User>> suggesst(@Field(Constant.METHOD)String method, @Field("token") String token,@Field(Constant.TEXT)String text);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<User>> cancellation(@Field(Constant.METHOD)String method, @Field("token") String token);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<User>> check_bind(@Field(Constant.METHOD)String method, @Field("wx_openid") String wxopenid,@Field("registration_id")String registration_id,@Field("registration_device")String registration_device);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<ServiceDetail>> service_detail(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token, @Field("offservice_id")String oid, @Field("shop_id")String shop_id);


    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<SkuPirce>> get_sku_price(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token, @Field("offservice_id")String oid, @Field("attr_str")String attr_str);


    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<DesingerMain>> getStoreDetail(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token, @Field("shop_id")String shop_id);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<List<PetConcer>>> getPetConcers(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.LONGITUDEBODY)String longitu,@Field(Constant.LATITUDEBODY)String latitude,@Field(Constant.PAGE)String page,@Field("search")String search,@Field("province_id")String province_id);

    @POST("/app/currency/getcurrencylist")
    @FormUrlEncoded
    Observable<ResultBean<CommList<List<Money>>>> get_currency_list(@Field(Constant.COUNTRY)String country, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<User>> checkToen(@Field("user_token")String token, @Field(Constant.METHOD) String method);

    @POST("/app.php?/Deliver/getCountryList")
    @FormUrlEncoded
    Observable<ResultBean<List<Continent>>> getContinentList(@Field(Constant.COUNTRY)String country,@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);


    @POST("/app.php?/myAccount/Point/log_list")
    @FormUrlEncoded
    Observable<ResultBean<CommList<List<Point>>>> getPointList(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app.php?/myAccount/OrderFeatured/wuliu_detail")
    @FormUrlEncoded
    Observable<ResultBean<LogistDetail>> wuliu_detail(@Field(Constant.COUNTRY)String country, @Field(Constant.PG_ID) String pgId, @Field(Constant.PG_CODE) String pgCode, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app/home/GetPopupImg")
    @FormUrlEncoded
    Observable<ResultBean<Cate>> get_featured_data_column(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app/home/GetHomeAdv")
    @FormUrlEncoded
    Observable<ResultBean<CommList<List<VpPacket>>>> getVpPackets(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);


    @POST("/app.php?/featured/get_store_category_list")
    @FormUrlEncoded
    Observable<ResultBean<List<StyleList>>> get_store_category_list(@Field(Constant.CURRENCY) String currency, @Field(Constant.Column_id) String column_di, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app.php?/featured/get_store_category_list")
    @FormUrlEncoded
    Observable<ResultBean<List<ZoomList>>> get_store_category_list(@Field(Constant.CURRENCY) String currency, @Field(Constant.CATEGROY_ID) String category_id, @Field(Constant.Column_id) String column_di, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app/category/new_get_tree_list")
    @FormUrlEncoded
    Observable<ResultBean<CommList<List<FirstCategroy>>>> type_category_list(@Field(Constant.COUNTRY)String country,@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<List<BigOrder>>> my_order(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN)String token, @Field("order_status")String order_status, @Field(Constant.PAGE)String page, @Field(Constant.LIMIT) String limit);
    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<YueDetail>> getYueDetail(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN)String token,  @Field(Constant.PAGE)String page, @Field(Constant.LIMIT) String limit);
    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<com.ad.pet.models.remote.account.Point>> getPointDetail(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN)String token,  @Field(Constant.PAGE)String page, @Field(Constant.LIMIT) String limit);
    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<BigOrder>> order_packet_lists(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token,@Field(Constant.ORDER_ID)String oid);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<List<BigOrder>>> pending(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token, @Field("order_status") String order_status, @Field(Constant.PAGE) String page, @Field(Constant.LIMIT) String limit);
    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<List<OrderType>>> appoint_list(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token,@Field("appoint_status")String status, @Field(Constant.PAGE) String page, @Field(Constant.LIMIT) String limit);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<User>> cancel_order(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token,@Field(Constant.ORDER_ID)String oid);
    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<BigOrder>> get_good_detail_order( @Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token,@Field(Constant.ORDER_ID)String oid);
    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<User>> confirm_order( @Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token,@Field(Constant.ORDER_ID)String oid);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<User>> appoint_cancel( @Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token,@Field("appoint_id")String oid);
    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<String>> addservicefav( @Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token,@Field("s_id")String oid,@Field("shop_id")String shop_id);
    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<String>> cancelservicefav( @Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token,@Field("s_id")String sid,@Field("shop_id")String shop_id);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<OrderDetail>> package_detail(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.ORDER_SN)String pgId, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app/account/return_balance")
    @FormUrlEncoded
    Observable<ResultBean<User>> return_balance(@Field(Constant.COUNTRY)String country,@Field(Constant.CURRENCY) String currency, @Field(Constant.ORDER_SN)String pgId,@Field(Constant.BANLANCE_SIGN)String banlancesn,@Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app/my_order/confirm_receipt")
    @FormUrlEncoded
    Observable<ResultBean> confirm_receipt( @Field(Constant.COUNTRY)String country,@Field(Constant.CURRENCY) String currency,@Field(Constant.ORDER_ID)String order_id,@Field(Constant.PRODUCT_ID)String product_id,@Field(Constant.ORDER_PRODUCT_ID)String order_product_id, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app/my_order/add_product_review")
    @FormUrlEncoded
    Observable<ResultBean> receiving_comment( @Field(Constant.COUNTRY)String country,@Field(Constant.CURRENCY) String currency,@Field(Constant.ORDER_ID)String order_id,@Field(Constant.PRODUCT_ID)String product_id,@Field(Constant.ORDER_PRODUCT_ID)String order_product_id,@Field(Constant.RATING)String rating, @Field(Constant.CONTENT)String content,@Field(Constant.IMAGE)String image,@Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);


    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<User>> reset_password(@Field(Constant.METHOD) String method,@Field(Constant.ACCESS_TOKEN)String token,@Field("old_user_password")String password,@Field(Constant.NEW_PASSWORD)String new_pwd);

    @POST("/app/product/GetProductByCategory")
    @FormUrlEncoded
    Observable<ResultBean<Product_list>> getProductByCategory(@Field(Constant.LANG)String lang,@Field(Constant.CURRENCY) String currency,@Field(Constant.COUNTRY)String country,@Field(Constant.ACCESS_TOKEN)String token,@Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform,@Field(Constant.CATEGROY_ID)String id,@Field(Constant.PAGE)String page,@Field(Constant.SORT)String sort,@Field(Constant.SORT_ORDER)String sort_order,@Field(Constant.START_PRICE)String start_price,@Field(Constant.END_PRICE)String end_price,@Field(Constant.LIMIT)String limit,@Field(Constant.SIGN) String sign);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<List<Province>>> getStateList(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token);

    @POST("/app/pay/get_method_list")
    @FormUrlEncoded
    Observable<ResultBean<PayMethodAll>> get_method_list(@Field(Constant.LANG)String lang, @Field(Constant.CURRENCY) String currency, @Field(Constant.COUNTRY)String country, @Field(Constant.ACCESS_TOKEN)String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.ORDER_SN)String order_sn, @Field(Constant.SIGN) String sign);

    @POST("/app/pay/create")
    @FormUrlEncoded
    Observable<ResultBean<PayUrl>> create_pay(@Field(Constant.LANG)String lang, @Field(Constant.CURRENCY) String currency, @Field(Constant.COUNTRY)String country, @Field(Constant.ACCESS_TOKEN)String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.TYPE)String type, @Field(Constant.AMOUNT)String amount, @Field(Constant.PM_ID)String pm_id , @Field(Constant.ORDER_SN)String order_sn, @Field(Constant.UID)String uid, @Field(Constant.PAY_SIGN)String pay_sign, @Field(Constant.SIGN) String sign);

    @POST("/app/pay/add_comment")
    @FormUrlEncoded
    Observable<ResultBean<User>> add_comment(@Field(Constant.LANG)String lang, @Field(Constant.CURRENCY) String currency, @Field(Constant.COUNTRY)String country, @Field(Constant.ACCESS_TOKEN)String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.ORDER_SN)String order_sn,@Field(Constant.CONTENT)String content, @Field(Constant.SIGN) String sign);

    @POST("/app/pay/completed")
    @FormUrlEncoded
    Observable<ResultBean<PayCompleted>> pay_completed(@Field(Constant.LANG)String lang, @Field(Constant.CURRENCY) String currency, @Field(Constant.COUNTRY)String country, @Field(Constant.ACCESS_TOKEN)String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.ORDER_SN)String order_sn, @Field(Constant.SIGN) String sign);

    @POST("/app/product/GetDetail")
    @FormUrlEncoded
    Observable<ResultBean<ProductDetail>> getProductDetial(@Field(Constant.LANG)String lang, @Field(Constant.CURRENCY) String currency, @Field(Constant.COUNTRY)String country, @Field(Constant.ACCESS_TOKEN)String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.PRODUCT_ID)String product_id, @Field(Constant.SIGN) String sign);

    @POST("/app/product/getTransactionList")
    @FormUrlEncoded
    Observable<ResultBean<CommList<List<Record>>>> getTransactionList(@Field(Constant.LANG)String lang, @Field(Constant.CURRENCY) String currency, @Field(Constant.COUNTRY)String country, @Field(Constant.ACCESS_TOKEN)String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.PRODUCT_ID)String product_id, @Field(Constant.PAGE)String page, @Field(Constant.SIZE)String size, @Field(Constant.SIGN) String sign);

    @POST("/app/product/getCommentList")
    @FormUrlEncoded
    Observable<ResultBean<CommList<List<Rating>>>> getRatingList(@Field(Constant.LANG)String lang, @Field(Constant.CURRENCY) String currency, @Field(Constant.COUNTRY)String country, @Field(Constant.ACCESS_TOKEN)String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.PRODUCT_ID)String product_id, @Field(Constant.PAGE)String page, @Field(Constant.SIZE)String size, @Field(Constant.SIGN) String sign);
//    @Field(Constant.IS_MAIN)String is_home_cate,
    @POST("/app/search/item")
    @FormUrlEncoded
    Observable<ResultBean<SearchEndGood>> search_product(@Field(Constant.LANG)String lang, @Field(Constant.CURRENCY) String currency, @Field(Constant.COUNTRY)String country, @Field(Constant.ACCESS_TOKEN)String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.KEY_WORD)String keyWord, @Field(Constant.PAGE)String page, @Field(Constant.LIMIT)String size,@Field(Constant.SORT)String sort,@Field(Constant.SORT_ORDER)String sortOrder,@Field(Constant.START_PRICE)String startPrice,@Field(Constant.END_PRICE)String endPrice,@Field(Constant.CATEGROY_ID)String categoryId,@Field(Constant.ATTR)String attr,@Field(Constant.SIGN) String sign);

    @POST("/app/cart/AddToCart")
    @FormUrlEncoded
    Observable<ResultBean<User>> addToCart(@Field(Constant.LANG)String lang, @Field(Constant.CURRENCY) String currency, @Field(Constant.COUNTRY)String country, @Field(Constant.ACCESS_TOKEN)String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.PRODUCT_ID)String product_id, @Field(Constant.QUANTITY)String quantity,@Field(Constant.SKU)String sku,@Field(Constant.STORE_ID)String store_id, @Field(Constant.SIGN) String sign);

    @POST("/app/account/get_user_balance")
    @FormUrlEncoded
    Observable<ResultBean<Banlance>> get_user_balance(@Field(Constant.LANG)String lang, @Field(Constant.CURRENCY) String currency, @Field(Constant.COUNTRY)String country, @Field(Constant.ACCESS_TOKEN)String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app/shipping/get_shipping_data")
    @FormUrlEncoded
    Observable<ResultBean<BigShipingw>> get_shipping_data(@Field(Constant.LANG)String lang, @Field(Constant.CURRENCY) String currency, @Field(Constant.COUNTRY)String country, @Field(Constant.ACCESS_TOKEN)String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.QUANTITY)String quantity,@Field(Constant.PRICE)String price, @Field(Constant.SIGN) String sign);

    @POST("/app/account/payment_balance")
    @FormUrlEncoded
    Observable<ResultBean<User>> payment_balance(@Field(Constant.LANG)String lang, @Field(Constant.CURRENCY) String currency, @Field(Constant.COUNTRY)String country, @Field(Constant.ACCESS_TOKEN)String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.ORDER_SN)String orderSn,@Field(Constant.BANLANCE_SIGN)String balance_sn,@Field(Constant.BANLANCE)String balance,@Field(Constant.RED_ENVELOPS)String balance_red_envelope, @Field(Constant.SIGN) String sign);

    @POST("/app/withdraw/GetUserWithdrawWindow")
    @FormUrlEncoded
    Observable<ResultBean<WithDraw>> getUserWithdrawWindow(@Field(Constant.LANG)String lang, @Field(Constant.CURRENCY) String currency, @Field(Constant.COUNTRY)String country, @Field(Constant.ACCESS_TOKEN)String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);


    @POST("/app/withdraw/AddUserWithdraw")
    @FormUrlEncoded
    Observable<ResultBean<User>> addUserWithdraw(@Field(Constant.LANG)String lang, @Field(Constant.CURRENCY) String currency, @Field(Constant.COUNTRY)String country, @Field(Constant.ACCESS_TOKEN)String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform,@Field(Constant.TYPE)String type,@Field(Constant.ACCOUNT_NO)String account_no,@Field(Constant.ACCOUNT_NAME)String account_name,@Field(Constant.WITHDAWN_AMOUNT)String  amount,    @Field(Constant.SIGN) String sign);


    @POST("/app/sign/day_sign")
    @FormUrlEncoded
    Observable<ResultBean<SignCheck>> day_sign(@Field(Constant.LANG)String lang, @Field(Constant.CURRENCY) String currency, @Field(Constant.COUNTRY)String country, @Field(Constant.ACCESS_TOKEN)String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app/sign/check_is_sign")
    @FormUrlEncoded
    Observable<ResultBean<SignCheck>> check_is_sign(@Field(Constant.LANG)String lang, @Field(Constant.CURRENCY) String currency, @Field(Constant.COUNTRY)String country, @Field(Constant.ACCESS_TOKEN)String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform,  @Field(Constant.SIGN) String sign);

    @POST("/app/pay/new_pay_completed_open_red_envelope")
    @FormUrlEncoded
    Observable<ResultBean<SignCheck>> pay_completed_open_red_envelope(@Field(Constant.LANG)String lang, @Field(Constant.CURRENCY) String currency, @Field(Constant.COUNTRY)String country, @Field(Constant.ACCESS_TOKEN)String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.ORDER_SN)String orderSn, @Field(Constant.SIGN) String sign);


    @POST("/app/home/GetBootPage")
    @FormUrlEncoded
    Observable<ResultBean<BigAdver>> get_boot_page(@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.WIDTH) String with, @Field(Constant.HEIGHT) String height, @Field(Constant.SIGN) String sign);

    @POST("/app/share/app_share_h5_url")
    @FormUrlEncoded
    Observable<ResultBean<SignCheck>> app_share_h5_url(@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app/withdraw/GetCurrentTotalWithdrawal")
    @FormUrlEncoded
    Observable<ResultBean<CountDrawTotal>> getCurrentTotalWithdrawal(@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);


    @POST("/app/message/get_unread_total")
    @FormUrlEncoded
    Observable<ResultBean<User>> getUnreadTotal(@Field(Constant.COUNTRY)String country,@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);


    @POST("/app/message/get_category_list")
    @FormUrlEncoded
    Observable<ResultBean<List<Message>>> message_category_list(@Field(Constant.COUNTRY)String country,@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app/message/get_msg_list")
    @FormUrlEncoded
    Observable<ResultBean<CommList<List<Message>>>> msg_list(@Field(Constant.COUNTRY)String country,@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.C_ID) String cid, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app/message/is_read")
    @FormUrlEncoded
    Observable<ResultBean<User>> isRead(@Field(Constant.COUNTRY)String country,@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.ID) String id, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app/message/is_del")
    @FormUrlEncoded
    Observable<ResultBean<User>> message_isDel(@Field(Constant.COUNTRY)String country,@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.ID) String id, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app/message/is_read")
    @FormUrlEncoded
    Observable<ResultBean<User>> isTypeRead(@Field(Constant.COUNTRY)String country,@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.C_ID) String id, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);




    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<List<DesingerMain>>> getDesignerBrandStoreList  (@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.PAGE) String page, @Field("page_size") String page_size, @Field(Constant.LONGITUDEBODY) String longtitu,@Field(Constant.LATITUDEBODY)String latitude,@Field(Constant.KEY_WORD)String keyword, @Field("province_id") String province_id,@Field("city_id")String city_id);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<List<DesingerType>>> getShopService  (@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token, @Field("category_id") String shop_id);




    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<User>> thirdparty_login(@Field(Constant.METHOD)String method, @Field(Constant.USER_TEL) String tel, @Field(Constant.SMS_CODE) String smscode, @Field(Constant.USER_PASSWORD) String password, @Field("wx_openid") String wx_openid, @Field("nick_name") String nick_name, @Field("user_headimg") String user_headimg,@Field("wx_unionid") String wx_unionid,@Field("registration_id")String registration_id,@Field("registration_device")String registration_device,@Field("to_reference_code")String to_reference_codeBODY);


    @POST("/app/account/get_transaction_log")
    @FormUrlEncoded
    Observable<ResultBean<CommList<List<com.ad.pet.models.remote.message.Record>>>> get_transaction_log(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.C_ID) String id, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.PAGE) String page, @Field(Constant.LIMIT)String limit, @Field(Constant.SIGN) String sign);

    @POST("/app/home/GetHomeMid")
    @FormUrlEncoded
    Observable<ResultBean<NewUserBenfit>> getNewUserBoon(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.C_ID) String id, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);


    @POST("/app/sign/new_user_boon_product")
    @FormUrlEncoded
    Observable<ResultBean<Product_list>> new_user_boon_product(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.C_ID) String id, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app/activity_rushbuy/get_product_list")
    @FormUrlEncoded
    Observable<ResultBean<CommList<List<Good>>>> get_product_list(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.C_ID) String id, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);
    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<BigArticle>> getArticleList(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN)String token,@Field(Constant.PAGE) String page, @Field("class_id") String class_id);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<User>> articleComment(@Field(Constant.METHOD)String method, @Field("article_id") String articleId, @Field("text") String text);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<BigArticle>> getCollectArticleList(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String tokean, @Field(Constant.PAGE) String page);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<User>> collectArticle(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token, @Field("article_id") String articleId);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<User>> cancelCollectArticle(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token, @Field("article_id") String article_id);
    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<String>> zanArticle(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token, @Field("article_id") String article_id);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<String>> cancelZanArticle(@Field(Constant.METHOD)String method, @Field(Constant.ACCESS_TOKEN) String token, @Field("article_id") String article_id);

    @POST("/app/account/get_column_red_dot")
    @FormUrlEncoded
    Observable<ResultBean<MainOrderPoint>> get_column_red_dot(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);


    @POST("/app/home/GetHomeFloorData")
    @FormUrlEncoded
    Observable<ResultBean<CommList<List<MainFloor>>>> GetHomeFloorData(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.IS_NEW_FLOOR)String is_new_floor,@Field(Constant.SIGN) String sign);

    @POST("/app/sign/register_sign_home")
    @FormUrlEncoded
    Observable<ResultBean<PopNewRegist>> register_sign_home(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app/sign/check_is_sign_home")
    @FormUrlEncoded
    Observable<ResultBean<PopNewRegist>> check_is_sign_home(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app/share/app_share_friend_data")
    @FormUrlEncoded
    Observable<ResultBean<ShareEndItem>> app_share_friend_data(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);
    @POST("/app/share/app_share_product_data")
    @FormUrlEncoded
    Observable<ResultBean<ShareEndItem>> app_share_product_data(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);


    @POST("/app/my_order/change_order_detail_address")
    @FormUrlEncoded
    Observable<ResultBean<User>> change_order_detail_address(@Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.ORDER_ID)String oid, @Field(Constant.FIRST_NAME) String name,@Field(Constant.LASTNAME)String lastName, @Field(Constant.ADDRESS) String address,@Field(Constant.COUNTRY_ID) String aid,@Field(Constant.STATE_ID)String state_id,@Field(Constant.STATE)String state,@Field(Constant.CITY_ID)String city_id ,@Field(Constant.CITY)String city,@Field(Constant.POST_CODE)String post_code,@Field(Constant.PHONE) String phone,   @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app/track/get_track_product_list")
    @FormUrlEncoded
    Observable<ResultBean<CommList<List<HomeMall>>>> get_track_product_list(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token,  @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);

    @POST("/app/cart/GetUserCartProductNum")
    @FormUrlEncoded
    Observable<ResultBean<User>> getUserCartProductNum(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token,  @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform, @Field(Constant.SIGN) String sign);


    @POST("/app/cart/UpdateSelectType")
    @FormUrlEncoded
    Observable<ResultBean<User>> updateSelectType(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token,  @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform,@Field(Constant.CART_IDS)String cart, @Field(Constant.SIGN) String sign);


    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<User>> phone_register(@Field(Constant.METHOD)String method,@Field(Constant.USER_TEL)String phoneNumber,@Field(Constant.SMS_CODE)String smsCode,@Field(Constant.USER_PASSWORD)String password,@Field("registration_id")String registration_id,@Field("registration_device")String registration_device,@Field("to_reference_code")String to_reference_codeBODY);

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<User>> phone_login(@Field(Constant.METHOD)String method,@Field(Constant.USER_TEL)String phoneNumber,@Field(Constant.USER_PASSWORD)String password,@Field("registration_id")String registration_id,@Field("registration_device")String registration_device );

    @POST("/api.html")
    @FormUrlEncoded
    Observable<ResultBean<User>> get_sms_code(@Field(Constant.METHOD)String method,@Field(Constant.PHONE_NUM)String phoneNumber,@Field(Constant.SCENE)String scene,@Field(Constant.SECOND)String second,@Field(Constant.TYPE)String type);


    @POST("/app/account/get_user_buy_return")
    @FormUrlEncoded
    Observable<ResultBean<UserBuyReturn>> get_user_buy_return(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform,@Field(Constant.SIGN) String sign);

    @POST("/app/cart/NewGetCartProduct")
    @FormUrlEncoded
    Observable<ResultBean<NewProduct>> newGetCartProduct(@Field(Constant.COUNTRY)String country, @Field(Constant.CURRENCY) String currency, @Field(Constant.LANG) String lang, @Field(Constant.ACCESS_TOKEN) String token, @Field(Constant.DEVICE_ID) String device_id, @Field(Constant.PLATFORM) String platform,@Field(Constant.CART_IDS)String cartIds, @Field(Constant.SIGN) String sign);

}
//